#include "mPathNode2d.h"

namespace findPlanner {

// const int mNode2d::dir = 8;
// const int mNode2d::dx[] = {-1, -1, 0, 1, 1, 1, 0, -1};
// const int mNode2d::dy[] = {0, 1, 1, 1, 0, -1, -1, -1};

const int mNode2d::dir = 4;
const int mNode2d::dx[] = {-1, 0, 1, 0};
const int mNode2d::dy[] = {0, 1, 0, -1};

bool mNode2d::isOnGrid(const int width, const int height) const {
  return  x >= 0 && x < width && y >= 0 && y < height;
}

mNode2d* mNode2d::createSuccessor(const int i) {
  int xSucc = x + mNode2d::dx[i];
  int ySucc = y + mNode2d::dy[i];
  return new mNode2d(xSucc, ySucc, g, 0, this);
}

bool mNode2d::operator == (const mNode2d& rhs) const {
  return x == rhs.x && y == rhs.y;
}

}










